Настройка программной карты на примере карты хостов

Программная карта /etc/auto.smb дает возможность просматривать CIFS-ресурсы примерно так же, как это можно настроить с помощью специальной карты -hosts. Если в главной карте определить строку /cifs  /etc/auto.smb, то при просмотре содержимого каталога /cifs/fs-1.ald.company.lan вы увидите общие папки с этого файлового сервера. Список общих папок извлекается по протоколу CIFS непосредственно с указанного сервера с помощью утилиты smbclient.

admin@pc-1:~$ ls -l /cifs/fs-1.ald.company.lan/
итого 0
drwxr-xr-x 2 root root 0 окт 20 15:11 admin
drwxr-xr-x 2 root root 0 окт 20 15:11 homes
drwxr-xr-x 2 root root 0 окт 20 15:11 share

Данный скрипт (/etc/auto.smb) использует утилиту mount (и её опции) для монтирования SMB-ресурсов. Предполагается, что файлы с ключами находятся в файловой системе клиента в /etc/creds, или существует Kerberos-кэш, позволяющий совершить аутентификацию. В противном случае скрипт пробует смонтировать ресурсы анонимно (с помощью опции guest, утилиты mount). Подробнее – в комментариях в самом скрипте. Если клиент находится в Kerberos-среде и необходимо оставить только этот способ аутентификации (чтобы не было попыток монтирования анонимно), нужно закомментировать следующий блок кода, за исключением двух строк:

cat /etc/auto.smb
...
#creds=/etc/creds/$key
#
#if [ -f "$creds" ]; then
#    opts="$opts"',uid=$UID,gid=$GID,credentials='"$creds"
#    smbopts="-A $creds"
#else
#    get_krb5_cache
#    if [ -n "$cache" ]; then
        opts="$opts"',multiuser,cruid=$UID,sec=krb5i'
        smbopts="-k"
#       export KRB5CCNAME=$cache
#    else
#        opts="$opts"',guest'
#        smbopts="-N"
#    fi
#fi
...